Robots are automated devices that are able to manipulate objects using a series of mechanical links, which in turn are interconnected via articulations or motor/actuator-driven robotic joints. Each joint in a typical robot represents an independent control variable, also referred to as a degree of freedom (DOF). End-effectors are the particular links used for performing a task at hand, e.g., grasping a work tool or an object. Therefore, precise control of a robot may be organized by the level of task specification: object level control, i.e., the ability to control the behavior of an object held in a single or cooperative grasp of a robot, end-effector control, and joint level control. Collectively, the various control levels cooperate to achieve the required robotic mobility, dexterity, and work task-related functionality.
Humanoid robots in particular are robots having an approximately human structure or appearance, whether a full body, a torso, and/or an appendage, with the structural complexity of the humanoid robot being largely dependent upon the nature of the work task being performed. The use of humanoid robots may be preferred where direct interaction is required with devices or systems that are specifically made for human use. Due to the wide spectrum of work tasks that may be expected of a humanoid robot, different control modes may be simultaneously required. For example, precise control must be applied within the different spaces noted above, as well as control over the applied torque or force, motion, and the various grasp types.
The control complexity of a humanoid or other robotic system having a high number of DOF rises sharply as additional DOF are added, and therefore the underlying control processes may be extraordinarily difficult for an operator to fully understand and efficiently utilize. Adding to the difficulty is a present lack of commercially-available programming and control solutions for off the shelf use with humanoid robots having a substantial number of DOF. Likewise lacking are integrated control architectures providing for a flexible and scalable framework allowing additional technologies and robot capabilities to be easily integrated into the robotic system.